資料在產生或蒐集時可能因為各種原因出現缺失值(Missing Value),導致資料集中缺少某些觀測值或該值無法表示或測量,因此,處理缺失值是數據分析中很重要的前置作業,本篇將和大家分享觀察缺失值的幾種方式,內容包含:
基本資料
程式碼
import pandas as pd
import numpy as np
data = {'name':['Alan','Joseph','Wennie','Ruby','Chris','Tanya'],
'age':[18,23,19,15,30,26],
'weight':[65,80,np.nan,np.nan,88,60],
'height':[168,182,161,np.nan,172,163]}
df = pd.DataFrame(data)
1. 使用 isnull()
或 isna()
方法判斷,當返回的布林值結果為 True 時,表示為缺失值。
舉例:檢查案例中的資料是否具有缺失值
print(df.isnull()) # 檢查缺失值
print('--------------------------------')
print(df.isna()) # 檢查缺失值
輸出結果:
2. 使用 notnull()
方法判斷,當返回的布林值結果為 False 時,表示為缺失值。
舉例:檢查 weight 欄位中是否有缺失值
print(df['weight'].notnull())
輸出結果:
以上兩種方法都可以協助你檢查資料集中的缺失值,自行決定習慣用法即可!
當資料集中有許多缺失值時,可使用 isnull()
搭配 sum()
並指定參數 axis 計算各行各列的缺失值數量。 axis 預設為 0,取得各欄位的缺失值數量;axis 為 1 ,則取各行的缺失值數量。
舉例:分別計算案例中各欄位和各筆資料的缺失值數量
print(df.isnull().sum()) # 計算各欄位的缺失值數量
print('--------------------------------')
print(df.isnull().sum(axis=1)) # 計算各筆資料的缺失值數量
輸出結果:
使用布林索引(Boolean indexing)的方法篩選特定缺失值資料。
舉例:檢視 weight 欄位中兩筆包含缺失值的資料
print(df[df['weight'].isnull()])
輸出結果:
以上方法可以協助你快速找出缺失值,並計算與羅列具有缺失值的資料,如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!下一篇文章將和大家分享如何透過資料清理處理缺失值!我是 Eva,一位正在努力跨進資料科學領域的女子!我們明天見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】